package com.turing.data.utils;

import com.baomidou.mybatisplus.core.toolkit.StringUtils;

import java.util.Arrays;
import java.util.stream.Collectors;

public class TransDateUtil {

    /**
     * 转化日期字符串
     *
     * @param dateStr 各种格式的日期字符串
     * @return yyyy/mm/dd格式的字符串
     * 示例： splitStr = "/";
     * 2021-08-17    ->    2021/08/17
     * 2021-8-17     ->    2021/08/17
     * 2020/08/17    ->    2020/08/17
     * 2021年8月17日  ->    2021/08/17
     * 20210817      ->    2021/08/17
     * 2020年3月3日   ->    2020/03/03
     * 1998.08.09    ->    1998/08/09
     */
    public static String transDateStr(String dateStr, String splitStr) {
        boolean isBlack = false;
        if (StringUtils.isBlank(splitStr)) {
            splitStr = "/";
            isBlack = true;
        }
        dateStr = dateStr.replaceAll("[-|.|年|月|/]", splitStr).replaceAll("日", "");
        if (!dateStr.contains(splitStr) && dateStr.length() == 8 && !StringUtils.isBlank(splitStr)) {
            return dateStr.substring(0, 4) + splitStr + dateStr.substring(4, 6) + splitStr + dateStr.substring(6, 8);
        }
        return Arrays.stream(dateStr.split(splitStr)).map(str -> {
            if (str.length() == 1) {
                return "0" + str;
            }
            return str;
        }).collect(Collectors.joining(isBlack ? "" : splitStr));
    }

    public static void main(String[] args) {
        String dateStr = "2020年01月22日";
        String splitStr = "";
        String a = transDateStr(dateStr, splitStr);
        System.out.println(a);
    }

}
